package co.edu.usbcali.services;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Logger;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;

/**
 * This web services was created to aid banks in meeting the requirements of the
 * US Treasury Department's Office of Foreign Asset Control (OFAC). OFAC
 * restricts transactions with specific countries, organizations and
 * individuals. The Office of Foreign Assets Control ('OFAC') of the US
 * Department of the Treasury administers and enforces economic and trade
 * sanctions based on US foreign policy and national security goals against
 * targeted foreign countries, terrorists, international narcotics traffickers,
 * and those engaged in activities related to the proliferation of weapons of
 * mass destruction. OFAC acts under Presidential wartime and national emergency
 * powers, as well as authority granted by specific legislation, to impose
 * controls on transactions and freeze foreign assets under US jurisdiction.
 * Many of the sanctions are based on United Nations and other international
 * mandates, are multilateral in scope, and involve close cooperation with
 * allied governments.
 * 
 * This class was generated by the JAX-WS RI. JAX-WS RI 2.1.3-hudson-390-
 * Generated source version: 2.0
 * <p>
 * An example of how this class may be used:
 * 
 * <pre>
 * OFACSDN service = new OFACSDN();
 * OFACSDNSoap portType = service.getOFACSDNSoap();
 * portType.isSDNAndBlockedPersonsAsync(...);
 * </pre>
 * 
 * </p>
 * 
 */
@WebServiceClient(name = "OFACSDN", targetNamespace = "http://www.webservicex.net/", wsdlLocation = "http://www.webservicex.net/OFACSDN.asmx?WSDL")
public class OFACSDN extends Service {

	private final static URL OFACSDN_WSDL_LOCATION;
	private final static Logger logger = Logger
			.getLogger(co.edu.usbcali.services.OFACSDN.class.getName());

	static {
		URL url = null;
		try {
			URL baseUrl;
			baseUrl = co.edu.usbcali.services.OFACSDN.class.getResource(".");
			url = new URL(baseUrl,
					"http://www.webservicex.net/OFACSDN.asmx?WSDL");
		} catch (MalformedURLException e) {
			logger.warning("Failed to create URL for the wsdl Location: 'http://www.webservicex.net/OFACSDN.asmx?WSDL', retrying as a local file");
			logger.warning(e.getMessage());
		}
		OFACSDN_WSDL_LOCATION = url;
	}

	public OFACSDN(URL wsdlLocation, QName serviceName) {
		super(wsdlLocation, serviceName);
	}

	public OFACSDN() {
		super(OFACSDN_WSDL_LOCATION, new QName("http://www.webservicex.net/",
				"OFACSDN"));
	}

	/**
	 * 
	 * @return returns OFACSDNSoap
	 */
	@WebEndpoint(name = "OFACSDNSoap")
	public OFACSDNSoap getOFACSDNSoap() {
		return super.getPort(new QName("http://www.webservicex.net/",
				"OFACSDNSoap"), OFACSDNSoap.class);
	}

	/**
	 * 
	 * @return returns OFACSDNSoap
	 */
	@WebEndpoint(name = "OFACSDNSoap12")
	public OFACSDNSoap getOFACSDNSoap12() {
		return super.getPort(new QName("http://www.webservicex.net/",
				"OFACSDNSoap12"), OFACSDNSoap.class);
	}

}
